High resolution tape directory (HRTD) stored at end of data in an index partition

ABSTRACT

In one embodiment, a tape drive system includes a file system adapted for enabling sequential access to data on a tape medium, a file access controller adapted for managing the data, the file access controller including logic adapted for writing a file on the tape medium, logic adapted for writing a pointer of the written file in an index of the tape medium, wherein the pointer is managed by the file access controller, logic adapted for creating a high resolution tape directory (HRTD) including detailed location information of data on the tape medium, and logic adapted for storing the HRTD as part of end of data (EOD) of the index when a tape cartridge housing the tape medium is unloaded. Other systems, methods, and computer program products are described according to more embodiments.

BACKGROUND

The present invention relates to tape-based data storage, and moreparticularly, this invention relates to a high resolution tape directory(HRTD) which is stored at end of data (EOD) in an index partition.

Linear Tape File System (LTFS) is a file system that is implemented byusing a partitioning function of a tape drive. In LTFS, a tape isdivided into a plurality of partitions. Conventionally, two partitionsare established, but there is no limit as to the number of partitionspossible. Information on a file system is stored in a partition referredto as the Index Partition (IP). Data, which is the contents of one ormore files, is stored in a partition referred to as the Data Partition(DP).

One reason to partition LTFS is the sequential nature of tape-basedmedia, e.g., data stored to a tape must be accessed sequentially, frombeginning to end or vice versa. In the data format of a tape, thewriting of data is permitted only once if it is to be stored into thesame partition. Meanwhile, subsequent data will also be erased when datais written by starting from some midpoint in the data.

When an update to a file is to be written to tape-based media, it isnecessary to update the file system information relating to the datastored to the tape. Because of the format characteristics of anysequential access device on which the tape may be accessed, it followsthat such information will be written once at the last position of thetape.

If there is only one partition, pointer information of the file systemis acquired from the last logical position of the tape at each time thecartridge (housing the tape) is loaded. In some cases, it takes time toacquire the file system information. A known technique for solving theabove problem is, in order to access the pointer information of a filesystem at a high speed immediately after the loading of a cartridge, toprepare a dedicated partition and store the file pointer information inthis partition. In this way, it is possible to access the file-systempointer information on the tape at a high speed immediately after theloading of the cartridge.

One principal use of a conventional linear tape open (LTO) tape drive isfor backup purposes. For example, when data written to the tape is readout, the necessity of randomly moving to (locating) data on the tape,such as sequentially transferring it from a certain specified locationto the host, has been limited. The necessity of high-speed movement(locating) has been recognized in use in an Enterprise environment, suchas a high performance storage system (HPSS), a virtual tape system(VTS), and/or a hierarchical storage management (HSM). In such use, adrive that has the ability to utilize the high resolution tape directory(HRTD) function in order to access a specified data location at a highspeed, for example, IBM tape drive model TS1130/TS1140, is useful.

Tape directory (TD) is information that indicates, in detail, a locationof data on a tape. This information is stored at a specified area on thetape, written at the time of cartridge unloading, and read out at thetime of cartridge loading. The tape drive searches for the data throughthe tape on the basis of this location information. In standard LTO,this information is obtained by bisecting a tape in a longitudinaldirection (which is referred to as TD) and is stored in a cartridgememory (CM), whereas in IBM tape drive model TS1130/TS1140, 64-divideddetailed information sections (which is referred to as HRTD) are storedon the tape. Making more detailed location information available resultsin greater accuracy for determining the location of data stored on thetape, and also results in less time that is required to find the data onthe tape. Therefore, the speed of accessing the data increases, which isbeneficial to the art of data storage.

However, conventional LTO drives do not offer HRTD. Some reasons why itis not offered may include that the amount of HRTD information is toolarge to be stored in CM (which is only 8 KB), if a tape drive is inconformity to IBM's original format, such as TS1130/TS1140; andmoreover, since LTO is an open standard, a storage location at aspecified area on the tape is not defined therein. Also, the HRTDfunction is not as important if a tape drive is used primarily forbackup purposes, as most tape drives typically are. In backupapplications, the amount of time necessary to read data from a tape maynot be the most important factor in choosing the tape storage over othermethods and media.

However, in an LTO5 drive, which is a major use environment of thecurrent linear tape file system (LTFS), a user may be able to read/writedata on a tape, as well as data stored in other media formats, such ason a CD-R and/or a universal serial bus (USB) memory stick, via simplegraphical user interface (GUI), such as drag and drop or by conductingcommand-line operation. For this reason, conventionally, time taken foraccessing an arbitrary file on the tape is becoming more and moreimportant in an LTO drive, as well as in other tape formats.

However, unlike the IBM tape drive model TS1130/TS1140, an LTO drivedoes not offer the HRTD function of pinpointing a data-read location ata high speed immediately after loading.

SUMMARY

In one embodiment, a tape drive system includes a file system adaptedfor enabling sequential access to data on a tape medium, a file accesscontroller adapted for managing the data, the file access controllerincluding logic adapted for writing a file on the tape medium, logicadapted for writing a pointer of the written file in an index of thetape medium, wherein the pointer is managed by the file accesscontroller, logic adapted for creating a HRTD including detailedlocation information of data on the tape medium, and logic adapted forstoring the HRTD as part of end of data (EOD) of the index when a tapecartridge housing the tape medium is unloaded.

In another embodiment, a method for managing detailed locationinformation includes writing a file into a data partition of a tapemedium, wherein the tape medium has two or more partitions including thedata partition and an index partition, writing a pointer of the writtenfile in the index partition of the tape medium, creating a HRTD, theHRTD including detailed location information of data in the datapartition of the tape medium, and storing the HRTD as part of EOD of theindex partition when a tape cartridge housing the tape medium isunloaded.

According to another embodiment, a computer program product for managingdetailed location information includes a computer readable storagemedium having computer readable program code embodied therewith, thecomputer readable program code including computer readable program codeconfigured for writing a file into a data partition of a tape medium,wherein the tape medium has two or more partitions including the datapartition and an index partition, computer readable program codeconfigured for writing a pointer of the written file in the indexpartition of the tape medium, computer readable program code configuredfor creating a HRTD, the HRTD including detailed location information ofdata in the data partition of the tape medium, and computer readableprogram code configured for storing the HRTD as part of EOD of the indexpartition when a tape cartridge housing the tape medium is unloaded.

Other aspects and embodiments of the present invention will becomeapparent from the following detailed description, which, when taken inconjunction with the drawings, illustrate by way of example theprinciples of the invention.

BRIEF DESCRIPTION OF THE SEVERAL VIEWS OF THE DRAWINGS

FIG. 1A is a schematic diagram of a simplified tape drive systemaccording to one embodiment.

FIG. 1B is a schematic diagram of a tape cartridge according to oneembodiment.

FIG. 2 shows location of end of data (EOD) in a file system according toone embodiment.

FIG. 3 shows a system according to one embodiment.

FIG. 4 shows a flowchart of a method, according to one embodiment.

FIG. 5 shows a flowchart of a method, according to one embodiment.

FIG. 6 shows a flowchart of a method, according to one embodiment.

FIG. 7 shows a flowchart of a method, according to one embodiment.

FIG. 8 illustrates a network architecture, in accordance with oneembodiment.

FIG. 9 shows a representative hardware environment that may beassociated with the servers and/or clients of FIG. 8, in accordance withone embodiment.

FIG. 10 shows a flowchart of a method, according to one embodiment.

DETAILED DESCRIPTION

The following description is made for the purpose of illustrating thegeneral principles of the present invention and is not meant to limitthe inventive concepts claimed herein. Further, particular featuresdescribed herein can be used in combination with other describedfeatures in each of the various possible combinations and permutations.

Unless otherwise specifically defined herein, all terms are to be giventheir broadest possible interpretation including meanings implied fromthe specification as well as meanings understood by those skilled in theart and/or as defined in dictionaries, treatises, etc.

It must also be noted that, as used in the specification and theappended claims, the singular forms “a,” “an,” and “the” include pluralreferents unless otherwise specified.

The following description discloses several preferred embodiments ofmagnetic storage systems, as well as operation and/or component partsthereof. Specifically, a method and systems capable of storing highresolution tape directory (HRTD) on a tape in a format conforming to thelinear tape open (LTO) format are presented in order to achievehigh-speed access to data stored on and via a LTO drive.

In one general embodiment, a tape drive system includes a file systemadapted for enabling sequential access to data on a tape medium, a fileaccess controller adapted for managing the data, the file accesscontroller including logic adapted for writing a file on the tapemedium, logic adapted for writing a pointer of the written file in anindex of the tape medium, wherein the pointer is managed by the fileaccess controller, logic adapted for creating a HRTD including detailedlocation information of data on the tape medium, and logic adapted forstoring the HRTD as part of end of data (EOD) of the index when a tapecartridge housing the tape medium is unloaded.

In another general embodiment, a method for managing detailed locationinformation includes writing a file into a data partition of a tapemedium, wherein the tape medium has two or more partitions including thedata partition and an index partition, writing a pointer of the writtenfile in the index partition of the tape medium, creating a HRTD, theHRTD including detailed location information of data in the datapartition of the tape medium, and storing the HRTD as part of EOD of theindex partition when a tape cartridge housing the tape medium isunloaded.

According to another general embodiment, a computer program product formanaging detailed location information includes a computer readablestorage medium having computer readable program code embodied therewith,the computer readable program code including computer readable programcode configured for writing a file into a data partition of a tapemedium, wherein the tape medium has two or more partitions including thedata partition and an index partition, computer readable program codeconfigured for writing a pointer of the written file in the indexpartition of the tape medium, computer readable program code configuredfor creating a HRTD, the HRTD including detailed location information ofdata in the data partition of the tape medium, and computer readableprogram code configured for storing the HRTD as part of EOD of the indexpartition when a tape cartridge housing the tape medium is unloaded.

FIG. 1A illustrates a simplified tape drive 100 of a tape-based datastorage system, which may be employed in the context of the presentinvention. While one specific implementation of a tape drive is shown inFIG. 1A, it should be noted that the embodiments described herein may beimplemented in the context of any type of tape drive system.

As shown, a tape supply cartridge 120 and a take-up reel 121 areprovided to support a tape 122. One or more of the reels may form partof a removable cartridge and are not necessarily part of the system 100.The tape drive, such as that illustrated in FIG. 1A, may further includedrive motor(s) to drive the tape supply cartridge 120 and the take-upreel 121 to move the tape 122 over a tape head 126 of any type. Suchhead may include an array of readers, writers, or both.

Guides 125 guide the tape 122 across the tape head 126. Such tape head126 is in turn coupled to a controller 128 via a cable 130. Thecontroller 128, may be or include a processor and/or any logic forcontrolling any subsystem of the drive 100. For example, the controller128 typically controls head functions such as servo following, datawriting, data reading, etc. The controller 128 may operate under logicknown in the art, as well as any logic disclosed herein. The controller128 may be coupled to a memory 136 of any known type, which may storeinstructions executable by the controller 128. Moreover, the controller128 may be configured and/or programmable to perform or control some orall of the methodology presented herein. Thus, the controller may beconsidered configured to perform various operations by way of logicprogrammed into a chip; software, firmware, or other instructions beingavailable to a processor; etc. and combinations thereof.

The cable 130 may include read/write circuits to transmit data to thehead 126 to be recorded on the tape 122 and to receive data read by thehead 126 from the tape 122. An actuator 132 controls position of thehead 126 relative to the tape 122.

An interface 134 may also be provided for communication between the tapedrive 100 and a host (integral or external) to send and receive the dataand for controlling the operation of the tape drive 100 andcommunicating the status of the tape drive 100 to the host, all as willbe understood by those of skill in the art.

FIG. 1B illustrates an exemplary tape cartridge 150 according to oneembodiment. Such tape cartridge 150 may be used with a system such asthat shown in FIG. 1A. As shown, the tape cartridge 150 includes ahousing 152, a tape 122 in the housing 152, and a nonvolatile memory 154coupled to the housing 152. In some approaches, the nonvolatile memory154 may be embedded inside the housing 152, as shown in FIG. 1B. In moreapproaches, the nonvolatile memory 154 may be attached to the inside oroutside of the housing 152 without modification of the housing 152. Forexample, the nonvolatile memory may be embedded in a self-adhesivelabel. In one preferred embodiment, the nonvolatile memory 154 may be aFlash memory device, ROM device, etc., embedded into or coupled to theinside or outside of the tape cartridge 150. The nonvolatile memory isaccessible by the tape drive and the tape operating software (the driversoftware), and/or other device, and is commonly referred to as cartridgememory (CM).

The proposed methods, according to various embodiments, produce greateffects when used in combination with the linear tape file system(LTFS), and is based on a premise of Reading/Writing of a drive whilebuilding up HRTD information in a drive's memory. In fact, theperformance of a tape drive improves when access to a file is maderandomly on a LTO tape drive with LTFS (having multiple partitions). Inone embodiment, the HRTD may be managed in conformity to the format ofLTO to improve file-access performance in LTFS. Also, in one approach,HRTD may be stored as a part of special data referred to as end of data(EOD), the use of which is left to the discretion of each individualvendor, due to the protocol of the LTO format.

Also, when plural partitions exist (note that two or more logicalcompartments exist on a tape), judgment processing is performed todetermine which one of the EODs that exist in the respective partitionsis newer, thereby managing HRTD, which is a difference fromconventionally used techniques.

More specifically, when HRTD is read from EOD, a validity check may beconducted in one approach to verify whether a standard tape directory(TD), which is a low resolution TD stored in cartridge memory (CM),matches with the HRTD or not.

Among HRTD read from EOD, HRTD of the other partition(s) (different fromthe partition that is read) is/are also made available for use. If it isin conformity to the multi-partition scheme, however, some sort of checkmay be utilized because there is a possibility that data of anotherpartition might be rewritten after the writing of a certain EOD. Toprovide a solution to this situation, the validity check is conducted toverify whether standard TD matches with the HRTD or not.

For example, according to the LTO format specification, if the standardTD in a CM is broken, it is proper to perform TD recovery by using theTD of CM content read from EOD. However, this recovery method isavailable for the current partition only. It is impossible to recoverthe TD of the other partition(s) by using this recovery method. That is,in conventional tapes, TD that can be read from EOD and that can be used(irrespective of whether it is standard TD or HRTD) is limited to theEOD-written TD.

In principle, since the last-written EOD among all partitions could haveTD of all partitions, it is possible to eliminate the need for the aboveHRTD validity check regardless of which one of the partitions isaccessed for “write” by always rewriting the EOD of a specifiedpartition and reading this EOD first immediately after the loading of acartridge. To realize this advantage, however, the rewriting of the EODof the partition, which has conventionally been unnecessary, has to beperformed. Such rewriting should be avoided because it will have adverseeffects on write performance of the tape drive. With some sort ofvalidity check for putting HRTD to effective use, there is no need toworry about write performance. Thus, such a check is useful.

In addition, as shown in FIG. 2, the space in EOD to store the HRTD isjust a vendor reserved area according to the LTO standard format. TheEOD is positioned after all the data sets. The LTO format standardindicates that the CM data is stored in the first 8 KB, while the latterportion of the EOD is vendor specific space. The HRTD may be placed inthis vendor specific area, in one embodiment. Other drive venders maywrite some data in this area for another use instead of HRTD. In thiscase, HRTD cannot be used without a validity check between the HRTD andthe TD stored in the CM, since different data might be stored in thisvender reserved area. This method may be applied to a single partitiontape medium or to a multi-partition tape medium, which may include atleast a data partition and an index partition, among others.

In one embodiment, as shown in FIG. 3, a tape drive system 300 comprisesa file system (which may be enabled in a processor 306 in oneembodiment) adapted for enabling sequential access to data on a tapemedium 302, a file access controller 304 adapted for managing the data,the file access controller 304 comprising logic adapted for writing afile on the tape medium 302, logic adapted for writing a pointer of thewritten file in an index of the tape medium 302, wherein the pointer ismanaged by the file access controller 304, logic adapted for creating aHRTD including detailed location information of data on the tape medium302, and logic adapted for storing the HRTD as part of EOD of the indexwhen a tape cartridge 308 housing the tape medium 302 is unloaded.

In another embodiment, the tape drive system 300 may adhere to LTOformat standards, and the file system may adhere to LTFS. In anotherembodiment, the tape drive system 300 may include logic adapted forreceiving, via the file system, a request to read out a specified file,logic adapted for loading a tape cartridge 308 housing a tape medium 302which includes the specified file stored thereon, logic adapted forreading out a pointer from the tape medium 302 to acquire directoryinformation corresponding to a location of the specified file, and logicadapted for, concurrent to reading out the pointer, reading out the EODfrom the index in order to acquire the HRTD.

In another approach, the tape drive system may further comprise logicadapted for determining whether a stored HRTD is valid, logic adaptedfor validating the acquired HRTD and requesting access to the specifiedfile according to the detailed location information of the HRTDcorresponding to the specified file when the stored HRTD is valid, logicadapted for using standard tape directory (STD) stored in CM 310 toaccess location information of the specified file when the stored HRTDis invalid, and logic adapted for accessing the specified file at ahigher speed when using the HRTD or at a lower speed when using the STD.

In yet another embodiment, the tape drive system may further compriselogic adapted for making changes to data stored in a first portion ofthe tape medium 302, logic adapted for storing detailed location datafor the changed data to EOD of the first portion of the tape medium 302,and logic adapted for reflecting the detailed location data for thechanged data in the HRTD stored to the EOD of the index when the tapecartridge 308 housing the tape medium 302 is unloaded.

According to another embodiment, the logic adapted for storing the HRTDas part of the EOD of the index may comprise logic adapted forrequesting movement of the tape medium 302 to the index in order toupdate the index after changes have occurred to data on the tape medium302, logic adapted for writing an updated index, logic adapted for,concurrent to writing the updated index, writing an updated HRTD intothe EOD of the index, and logic adapted for requesting for the tapecartridge 308 to be unloaded.

In one approach, the tape drive system 300 may include logic adapted forpartitioning the tape medium 302 into two or more partitions, the two ormore partitions including at least a data partition and an indexpartition, wherein the index is stored to the index partition, andwherein data is stored to the data partition.

Now referring to FIG. 4, a flowchart of a method 400 for loading a tapecartridge is shown according to one embodiment. The method 400 may beperformed in accordance with the present invention in any of theenvironments depicted in FIGS. 1-3, among others, in variousembodiments. Of course, more or less operations than those specificallydescribed in FIG. 4 may be included in method 400, as would beunderstood by one of skill in the art upon reading the presentdescriptions. Each of the steps of the method 400 may be performed byany suitable component of the operating environment, such as by usingthe LTFS.

Since an application (specifically, LTFS) that behaves as illustrated inFIG. 4 requests it, adding/storing the HRTD to/in the EOD of the indexpartition and using the HRTD is useful for improving the performance ofdata access in a tape drive, in various embodiments.

In operation 402, a drive is requested to load a tape cartridgecomprising a tape medium. This request may be sent by LTFS, in oneembodiment, or any application capable of sending such a request.

In operation 404, the tape cartridge is loaded. A tape drive most likelyloads the tape cartridge, as it is adapted to do so.

In operation 406, a request is issued to read out a last record in anindex partition using the tape drive. In one embodiment, this requestmay be sent by LTFS, or any application capable of sending such arequest.

In operation 408, the last record in the index partition is read outusing the tape drive and therefore, simultaneously, the EOD is read outfrom the tape using the application (LTFS). In this operation, filepointer information (the index file) that is stored near the EOD of theindex partition is read out immediately or as soon as possible after theloading of the tape cartridge.

In operation 410, the HRTD information is acquired from the EOD usingthe tape drive. According to one embodiment, the EOD of the indexpartition may always be read before access to a data partition.

In operation 412, it is determined if a stored HRTD is valid. If so,method 400 continues to operation 414; otherwise, method 400 continueson to operation 420.

When the stored HRTD is valid, in operation 414, the acquired HRTD ismade valid, so that it may be used. Then, in operation 416, access to arecord in the data partition is requested, such as by using the LTFS,and in operation 418, the data partition is accessed at higher speedwith the tape drive using the acquired HRTD.

When the stored HRTD is not valid, in operation 420, access isrequested, using the LTFS, to a record in the data partition. Then, inoperation 422, the data partition is accessed at lower speed with thetape drive using the standard TD.

Method 400 may be used for storing the HRTD on a tape in a formatconforming to the LTO format standard, according to one embodiment.Specifically, in this embodiment, the LTFS reads file pointerinformation (referred to as an index file) that is stored near EOD ofthe index partition immediately after the loading of a cartridge. TheEOD of the index partition is always read before access to the datapartition is performed. The LTFS updates the file pointer informationthat is stored near the EOD of the index partition immediately beforethe unloading of a cartridge. After updating the data of the datapartition, the data is written once in the index partition. Since theEOD is overwritten at this moment, it is possible to store the latestHRTD on the tape at this moment as well with little additional effort ortime. Accordingly, the HRTD is stored as a part of special data (thelast tag data in each partition) in the EOD, the use of which is left tothe discretion of each individual vendor, due to the standards of theLTO format.

Since the HRTD is stored in the EOD, it is not possible to use the HRTDuntil the EOD is read out. The fact that the HRTD does not become validuntil the EOD is read causes data access to be delayed until the HRTD isacquired by reading the EOD. However, in LTO, this approach has not beenimplemented because, conventionally, there are significant disadvantagesin reading the EOD before data access.

As far as LTFS goes, however, there exists behavior that is unique toLTFS at the time of loading or unloading of a cartridge.

According to some approaches, the LTFS may update file pointerinformation (the index file) that is stored near the EOD of the indexpartition immediately before the unloading of the tape cartridge also.Then, after updating the data of the data partition, the pointer datamay be written once in the index partition. Since the EOD is overwrittenat this moment, it is possible to store the latest HRTD on the tape.

Furthermore, the HRTD that is read from the EOD that exists in a certainpartition (the index partition) includes information on the otherpartition (the data partition). For this reason, it is possible toachieve movement (locating) at a high speed when accessing the datapartition immediately after reading the index partition using the HRTD.

Also, even if the EOD that exists in a certain partition includes theHRTD of another partition, this HRTD is not necessarily the latest HRTD,which is excluded from consideration. This is because the EOD of eachpartition is updated independently of the other(s), and therefore someEODs may not include the latest information about other partitions.

Therefore, it is good practice to conduct a validity check for, amongHRTD read from the EOD, HRTD of the other partition(s).

Now referring to FIG. 5, a flowchart of a method 500 for validating theacquired HRTD is shown according to one embodiment. The method 500 maybe performed in accordance with the present invention in any of theenvironments depicted in FIGS. 1-3, among others, in variousembodiments. Of course, more or less operations than those specificallydescribed in FIG. 5 may be included in method 500, as would beunderstood by one of skill in the art upon reading the presentdescriptions. Each of the steps of the method 500 may be performed byany suitable component of the operating environment.

In operation 502, a validity check is requested to be performed on aHRTD of a first partition.

In operation 504, first parameters are acquired of the first partitionfrom cartridge memory (CM). Any applicable parameters may be acquired,such as a maximum write pass (WP) and a maximum DS (number) included ina range up to an “i^(th)” region, where the i^(th) region denotes anordinal number “i,” which is referred to herein as standard tapedirectory parameters, or STD for short. The DS number is assigned fromthe head of a tape for each unit of data written into the tape (bystarting from zero). The WP indicates which one is newer for the same DSnumber when data is overwritten. For the same DS, one with a greater WPvalue is newer (the latest). Another parameter which may be acquired isan index of the region in which the EOD exists, which is referred to as“x.”

In operation 506, second parameters are acquired of the first partitionfrom the HRTD. Any applicable parameters may be acquired which may becompared to the first parameters, such as a maximum WP and a maximum DS(number) included in a range up to the i^(th) region. Another parameterwhich may be acquired is an index of the region in which the EOD exists,which is referred to as “y.”

In operation 508, it is determined if the first and second parameters(from the CM and the HRTD, respectively) correlate properly. In oneembodiment, it may be determined if STD(x)=HRTD(y) andSTD(x−1)=HRTD((Y/X)*x). X is the number of regions of the wrap in STD,while Y is the number of regions of the wrap in HRTD. If these equationsare true, then it is determined that the parameters do correlateproperly; otherwise, they do not.

In operation 510, when the parameters correlate properly, at least somenon-empty parameters from the HRTD are validated. In one embodiment,this may be performed by choosing among the HRTD(j) included in theSTD(x), those parameters which are not empty are made to be valid. Inthis embodiment, the range of j is: ((Y/X)*x)<j≦y.

Then, i is set to x−1, and it is determined if STD(i)=HRTD((i+1)*Y/X−1)and STD(i−1)=HRTD(i*Y/X−1). If so, then among the HRTD(j) included inthe STD(i), those parameters which are not empty are made to be valid.The range of j is: ((X/Y)*i)≦j≦X/Y*(i+1). After this is performed, it isdetermined if i is 0, if so, the method 500 ends. Otherwise, i isdecremented and it is determined again if STD(i)=HRTD((i+1)*Y/X−1) andSTD(i−1)=HRTD(i*Y/X−1). Should at any time these relationships not betrue, then the HRTD(j) included in STD(i) are made invalid, where therange of j is: ((X/Y)*i)≦j≦X/Y*(i+1).

In operation 514, when the parameters do not correlate properly, atleast some parameters from the HRTD are invalidated. In one embodiment,this may include invalidating the HRTD(j) included in STD(x), where therange of j is ((Y/X)*x)<j≦y. When the parameters from the HRTD areinvalidated, the corresponding parameters from the STD are used in theirplace.

In operation 512, at least operations 508, 510, 514 of method 500 isrepeated until all parameters are validated.

Another description of a method similar to method 500 is provided below,in reference to FIG. 7 and labeled with reference numerals as in FIG. 5,according to one embodiment. Referring again to FIG. 7, in this method700 for performing a validity check of a partition of a tape, first, itis determined if the normal or standard TD information (STD) that isstored in the CM (typically an 8 KB nonvolatile memory mounted in thecartridge) logically match with HRTD information that is stored in theEOD. It is expected that the HRTD information, which is higher inprecision, will be the same as the content of the STD, which is lower inprecision. When they are compared with each other on adelimiter-by-delimiter basis, even though they are different from eachother in terms of precision, they should match in terms of thepositional content they include.

When the HRTD is added to the EOD in an open standard, such as LTO, as aspecific function that is unique to a vendor, in some cases, a part ofthe HRTD is missing; in other cases, the EOD is written by anothervendor. For these reasons, the authenticity of the HRTD should beverified by checking whether the HRTD information contained in the EODmatches with the low-precision STD stored in the CM (which is inconformity to the LTO open standard) or not.

In one embodiment, assume that the wrap is divided into a plurality ofregions, the number of which is denoted as “X,” in STD. Also, assumethat the wrap is divided into a plurality of regions, the number ofwhich is denoted as “Y,” in the HRTD, where X≦Y. In this example, X=2and Y=10. Also, assume that the value of each region may be calculatedby using the following functions. STD(i): Maximum WP and Maximum DS(number) included in a range up to the i^(th) region. HRTD(i): MaximumWP and Maximum DS included in a range up to the i^(th) region. Inaddition, define x and y as follows: x is the STD index of the region(Region) in which the EOD exists (in this example, it is 3), while y isthe HRTD index of the region in which the EOD exists (in this example itis 17).

So, for this example, Table 1 shows the values calculated, where theparenthetical numbers are: (DS number, WP).

TABLE 1 STD 0 Wrap 0 (1000, 11) HRTD 0 1 2 3 4 Wrap 0  (200, 10)  (400,10)  (600, 10)  (800, 11) (1000, 11) STD 1 Wrap 0 (2000, 14) HRTD 5 6 78 9 Wrap 0 (1200, 12) (1400, 13) (1600, 13) (1800, 14) (2000, 14) STD 2Wrap 1 (3000, 15) HRTD 10  11  12  13  14  Wrap 1 (2200, 14) (2400, 15)(2600, 15) (2800, 15) (3000, 15) STD 3 Wrap 1 (3555, 20) HRTD 15  16 17  18  19  Wrap 1 (3200, 16) (3400, 18) (3555, 20)

As can be seen, using the HRTD, the movement of the tape to the data wasperformed faster than using the STD information. Accordingly, there isan advantage to using HRTD information to locate data in the datapartition.

Now referring to FIG. 6, a flowchart of a method 600 for updating anindex file is shown, according to one embodiment. The method 600 may beperformed in accordance with the present invention in any of theenvironments depicted in FIGS. 1-3, among others, in variousembodiments. This method 600 may be performed just prior to unloading atape cartridge from a tape drive, in one approach. Of course, more orless operations than those specifically described in FIG. 6 may beincluded in method 600, as would be understood by one of skill in theart upon reading the present descriptions. Each of the steps of themethod 600 may be performed by any suitable component of the operatingenvironment.

As shown in FIG. 6, method 600 may initiate with operation 602, wheretape movement is requested to move the tape to an index partition inorder to update an index file system of the tape cartridge comprisingthe tape. This request, in one embodiment, may be initiated by the LTFS.

In operation 604, the tape is moved to the index partition using a tapedrive, using any technique known to one of skill in the art.

In operation 606, an index file is written into the index file system ofthe index partition. This writing may be performed using the LTFS in oneembodiment.

In operation 608, an EOD is written concurrently with the index file,while simultaneously writing the HRTD into the EOD. This may beperformed using the tape drive, and may be orchestrated using the LTFS.

In operation 610, the tape drive is requested to unload the tapecartridge. This request may originate from the LTFS, and the tape drivemay perform the unloading.

In operation 612, the tape cartridge is unloaded using the tape drive,using any technique known to one of skill in the art.

Conventional techniques are now compared with embodiments describedherein. The STD which characteristically has a low precision exists inconventional CM. However, unlike an enterprise tape drive, an LTO drivedoes not offer a function (such as HRTD) for pinpointing a data-readlocation at a high speed immediately after loading the tape cartridge.Particularly, proposed methods described herein according to variousembodiments produce desirable results when used in combination with theLTFS. The HRTD is stored as a part of special data referred to as EOD,the use of which is left to the discretion of each individual vendor,due to the protocol of the LTO format.

By using the embodiments described herein, performance improves whenaccess to a file is made randomly on a LTO tape drive, and in somefurther embodiments, using LTFS.

According to one embodiment, a tape drive system comprises a file systemadapted for enabling sequential access to data on a tape medium, a fileaccess controller adapted for managing the data, the file accesscontroller comprising logic adapted for partitioning the tape mediuminto two or more partitions, the two or more partitions including atleast a data partition and an index partition, logic adapted for writinga file into the data partition of the tape medium, logic adapted forwriting a pointer of the written file in the index partition of the tapemedium, wherein the pointer is managed by the file access controller,logic adapted for creating a HRTD, the HRTD including detailed locationinformation of data in the data partition of the tape medium, and logicadapted for storing the HRTD as part of EOD of the index partition whena tape cartridge housing the tape medium is unloaded. The file accesscontroller may be any type of controller or processor known in the artsuitable for controlling operations of a tape drive system.

According to various embodiments, the tape drive system may adhere toLTO format standards and the file system may adhere to LTFS, the tapedrive system may further include logic adapted for receiving, via thefile system, a request to read out a specified file, logic adapted forloading a tape cartridge housing a tape medium which includes thespecified file stored thereon, logic adapted for reading out a pointerin the index partition to acquire file pointer information correspondingto a location of the specified file, and logic adapted for, concurrentto reading out the pointer from the index partition, reading out the EODin the index partition in order to acquire the HRTD. In a furtherapproach, logic adapted for determining whether a stored HRTD is valid,logic adapted for validating the acquired HRTD and requesting access tothe specified file according to the detailed location information of theHRTD corresponding to the specified file when the stored HRTD is valid,logic adapted for using STD stored in CM to access location informationof the specified file when the stored HRTD is invalid, and logic adaptedfor accessing the specified file at a higher speed when using the HRTDor at a lower speed when using the STD may also be included in the tapedrive system.

In even more approaches, the tape drive system may further compriselogic adapted for making changes to data stored in a first portion ofthe data partition, logic adapted for storing detailed location data forthe changed data to EOD of the first portion of the data partition, andlogic adapted for reflecting the detailed location data for the changeddata in the HRTD stored to the EOD of the index partition when the tapecartridge housing the tape medium is unloaded. In one approach, thelogic adapted for storing the HRTD as part of the EOD of the indexpartition may comprise logic adapted for requesting movement of the tapemedium to the index partition in order to update an index file afterchanges have occurred to data in the data partition, logic adapted forwriting an updated index file into the partition index, logic adaptedfor, concurrent to writing the updated index file, writing an updatedHRTD into the EOD of the index partition, and logic adapted forrequesting for the tape cartridge to be unloaded.

As will be appreciated by one skilled in the art, aspects of the presentinvention may be embodied as a system, method or computer programproduct. Accordingly, aspects of the present invention may take the formof an entirely hardware embodiment, an entirely software embodiment(including firmware, resident software, micro-code, etc.) or anembodiment combining software and hardware aspects that may allgenerally be referred to herein as “logic,” a “circuit,” “module,” or“system.” Furthermore, aspects of the present invention may take theform of a computer program product embodied in one or more computerreadable medium(s) having computer readable program code embodiedthereon.

Any combination of one or more computer readable medium(s) may beutilized. The computer readable medium may be a computer readable signalmedium or a non-transitory computer readable storage medium. Anon-transitory computer readable storage medium may be, for example, butnot limited to, an electronic, magnetic, optical, electromagnetic,infrared, or semiconductor system, apparatus, or device, or any suitablecombination of the foregoing. More specific examples (a non-exhaustivelist) of the non-transitory computer readable storage medium include thefollowing: a portable computer diskette, a hard disk, a random accessmemory (RAM), a read-only memory (ROM), an erasable programmableread-only memory (EPROM or Flash memory), a portable compact discread-only memory (CD-ROM), a Blu-ray disc read-only memory (BD-ROM), anoptical storage device, a magnetic storage device, or any suitablecombination of the foregoing. In the context of this document, anon-transitory computer readable storage medium may be any tangiblemedium that is capable of containing, or storing a program orapplication for use by or in connection with an instruction executionsystem, apparatus, or device.

A computer readable signal medium may include a propagated data signalwith computer readable program code embodied therein, for example, inbaseband or as part of a carrier wave. Such a propagated signal may takeany of a variety of forms, including, but not limited to,electro-magnetic, optical, or any suitable combination thereof. Acomputer readable signal medium may be any computer readable medium thatis not a non-transitory computer readable storage medium and that cancommunicate, propagate, or transport a program for use by or inconnection with an instruction execution system, apparatus, or device,such as an electrical connection having one or more wires, an opticalfibre, etc.

Program code embodied on a computer readable medium may be transmittedusing any appropriate medium, including but not limited to wireless,wireline, optical fibre cable, RF, etc., or any suitable combination ofthe foregoing.

Computer program code for carrying out operations for aspects of thepresent invention may be written in any combination of one or moreprogramming languages, including an object oriented programming languagesuch as Java, Smalltalk, C++, or the like, and conventional proceduralprogramming languages, such as the “C” programming language or similarprogramming languages. The program code may execute entirely on a user'scomputer, partly on the user's computer, as a stand-alone softwarepackage, partly on the user's computer and partly on a remote computeror entirely on the remote computer or server. In the latter scenario,the remote computer or server may be connected to the user's computerthrough any type of network, including a local area network (LAN),storage area network (SAN), and/or a wide area network (WAN), or theconnection may be made to an external computer, for example through theInternet using an Internet Service Provider (ISP).

In another embodiment, a computer program product for managing detailedlocation information comprises a computer readable storage medium havingcomputer readable program code embodied therewith. The computer readableprogram code comprises computer readable program code configured forwriting a file into a data partition of a tape medium, wherein the tapemedium comprises two or more partitions including the data partition andan index partition, computer readable program code configured forwriting a pointer of the written file in the index partition of the tapemedium, computer readable program code configured for creating a HRTD,the HRTD including detailed location information of data in the datapartition of the tape medium, and computer readable program codeconfigured for storing the HRTD as part of EOD of the index partitionwhen a tape cartridge housing the tape medium is unloaded.

Aspects of the present invention are described herein with reference toflowchart illustrations and/or block diagrams of methods, apparatuses(systems), and computer program products according to variousembodiments of the invention. It will be understood that each block ofthe flowchart illustrations and/or block diagrams, and combinations ofblocks in the flowchart illustrations and/or block diagrams, may beimplemented by computer program instructions. These computer programinstructions may be provided to a processor of a general purposecomputer, special purpose computer, or other programmable dataprocessing apparatus to produce a machine, such that the instructions,which execute via the processor of the computer or other programmabledata processing apparatus, create means for implementing thefunctions/acts specified in the flowchart and/or block diagram block orblocks.

These computer program instructions may also be stored in a computerreadable medium that may direct a computer, other programmable dataprocessing apparatus, or other devices to function in a particularmanner, such that the instructions stored in the computer readablemedium produce an article of manufacture including instructions whichimplement the function/act specified in the flowchart and/or blockdiagram block or blocks.

The computer program instructions may also be loaded onto a computer,other programmable data processing apparatus, or other devices to causea series of operational steps to be performed on the computer, otherprogrammable apparatus or other devices to produce a computerimplemented process such that the instructions which execute on thecomputer or other programmable apparatus provide processes forimplementing the functions/acts specified in the flowchart and/or blockdiagram block or blocks.

FIG. 8 illustrates a network architecture 800, in accordance with oneembodiment. As shown in FIG. 8, a plurality of remote networks 802 areprovided including a first remote network 804 and a second remotenetwork 806. A gateway 801 may be coupled between the remote networks802 and a proximate network 808. In the context of the present networkarchitecture 800, the networks 804, 806 may each take any formincluding, but not limited to a LAN, a WAN such as the Internet, publicswitched telephone network (PSTN), internal telephone network, etc.

In use, the gateway 801 serves as an entrance point from the remotenetworks 802 to the proximate network 808. As such, the gateway 801 mayfunction as a router, which is capable of directing a given packet ofdata that arrives at the gateway 801, and a switch, which furnishes theactual path in and out of the gateway 801 for a given packet.

Further included is at least one data server 814 coupled to theproximate network 808, and which is accessible from the remote networks802 via the gateway 801. It should be noted that the data server(s) 814may include any type of computing device/groupware. Coupled to each dataserver 814 is a plurality of user devices 816. Such user devices 816 mayinclude a desktop computer, laptop computer, handheld computer, printer,and/or any other type of logic-containing device. It should be notedthat a user device 811 may also be directly coupled to any of thenetworks, in some embodiments.

A peripheral 820 or series of peripherals 820, e.g., facsimile machines,printers, scanners, hard disk drives, networked and/or local storageunits or systems, etc., may be coupled to one or more of the networks804, 806, 808. It should be noted that databases and/or additionalcomponents may be utilized with, or integrated into, any type of networkelement coupled to the networks 804, 806, 808. In the context of thepresent description, a network element may refer to any component of anetwork.

According to some approaches, methods and systems described herein maybe implemented with and/or on virtual systems and/or systems whichemulate one or more other systems, such as a UNIX system which emulatesan IBM z/OS environment, a UNIX system which virtually hosts a MICROSOFTWINDOWS environment, a MICROSOFT WINDOWS system which emulates an IBMz/OS environment, etc. This virtualization and/or emulation may beenhanced through the use of VMWARE software, in some embodiments.

In more approaches, one or more networks 804, 806, 808, may represent acluster of systems commonly referred to as a “cloud.” In cloudcomputing, shared resources, such as processing power, peripherals,software, data, servers, etc., are provided to any system in the cloudin an on-demand relationship, thereby allowing access and distributionof services across many computing systems. Cloud computing typicallyinvolves an Internet connection between the systems operating in thecloud, but other techniques of connecting the systems may also be used,as known in the art.

FIG. 9 shows a representative hardware environment associated with auser device 816 and/or server 814 of FIG. 8, in accordance with oneembodiment. FIG. 9 illustrates a typical hardware configuration of aworkstation having a central processing unit (CPU) 910, such as amicroprocessor, and a number of other units interconnected via one ormore buses 912 which may be of different types, such as a local bus, aparallel bus, a serial bus, etc., according to several embodiments.

The workstation shown in FIG. 9 includes a Random Access Memory (RAM)914, Read Only Memory (ROM) 916, an I/O adapter 918 for connectingperipheral devices such as disk storage units 920 to the one or morebuses 912, a user interface adapter 922 for connecting a keyboard 924, amouse 926, a speaker 928, a microphone 932, and/or other user interfacedevices such as a touch screen, a digital camera (not shown), etc., tothe one or more buses 912, communication adapter 934 for connecting theworkstation to a communication network 935 (e.g., a data processingnetwork) and a display adapter 936 for connecting the one or more buses912 to a display device 938.

The workstation may have resident thereon an operating system such asthe MICROSOFT WINDOWS Operating System (OS), a MAC OS, a UNIX OS, etc.It will be appreciated that a preferred embodiment may also beimplemented on platforms and operating systems other than thosementioned. A preferred embodiment may be written using JAVA, XML, C,and/or C++ language, or other programming languages, along with anobject oriented programming methodology. Object oriented programming(OOP), which has become increasingly used to develop complexapplications, may be used.

In more approaches, the functionality of the tape drive system describedherein may be included in a method or a computer program product. In onesuch embodiment, referring to FIG. 10, a method 1000 for managingdetailed location information is described.

In operation 1002, a file is written into a data partition of a tapemedium, wherein the tape medium comprises two or more partitionsincluding the data partition and an index partition. The data may bewritten using any suitable component of a tape drive system.

In operation 1004, a pointer of the written file is written in the indexpartition of the tape medium, thereby allowing this written file to belocated in subsequent searches.

In operation 1006, a HRTD is created. The HRTD includes detailedlocation information of data in the data partition of the tape medium,as described herein in more detail.

In operation 1008, the HRTD is stored as part of EOD of the indexpartition when a tape cartridge housing the tape medium is unloaded, asdescribed herein in more detail.

While various embodiments have been described above, it should beunderstood that they have been presented by way of example only, and notlimitation. Thus, the breadth and scope of an embodiment of the presentinvention should not be limited by any of the above-described exemplaryembodiments, but should be defined only in accordance with the followingclaims and their equivalents.

What is claimed is:
 1. A tape drive system, comprising: a file systemconfigured to enable sequential access to data on a tape medium, thefile system being enabled in at least one hardware processor; a fileaccess controller configured to manage the data, the file accesscontroller comprising the at least one hardware processor and logicintegrated with and/or executable by the at least one hardwareprocessor, the logic being configured to: write a file on the tapemedium; write a pointer of the written file in an index of the tapemedium, wherein the pointer is managed by the file access controller;create a high resolution tape directory (HRTD), the HRTD includingdetailed location information of data on the tape medium; store the HRTDas part of end of data (EOD) of the index when a tape cartridge housingthe tape medium is unloaded; receive, via the file system, a request toread out a specified file; load the tape cartridge housing the tapemedium which includes the specified file stored thereon; read out thepointer from the tape medium to acquire directory informationcorresponding to a location of the specified file; read out, concurrentto reading out the pointer, the EOD from the index in order to acquirethe HRTD; validate the acquired HRTD and request access to the specifiedfile according to the detailed location information of the HRTDcorresponding to the specified file in response to a determination thatthe stored HRTD is valid; use a standard tape directory (STD) to accesslocation information of the specified file in response to adetermination that the stored HRTD is invalid; and access the specifiedfile at a higher speed when using the HRTD or at a lower speed whenusing the STD.
 2. The tape drive system as recited in claim 1, whereinthe tape drive system adheres to linear tape open (LTO) formatstandards, and wherein the file system adheres to linear tape filesystem (LTFS).
 3. The tape drive system as recited in claim 1, whereinthe STD is stored in cartridge memory (CM) of the tape cartridge.
 4. Thetape drive system as recited in claim 1, wherein the logic is configuredto: determine whether a HRTD stored to an EOD in an index of a tapemedium is valid.
 5. The tape drive system as recited in claim 1, whereinthe logic is configured to: make changes to data stored in a firstportion of the tape medium; store detailed location data for the changeddata to EOD of the first portion of the tape medium; and reflect thedetailed location data for the changed data in the HRTD stored to theEOD of the index when the tape cartridge housing the tape medium isunloaded.
 6. The tape drive system as recited in claim 1, wherein thelogic configured to store the HRTD as part of the EOD of the index isconfigured to: request movement of the tape medium to the index in orderto update the index after changes have occurred to data on the tapemedium; write an updated index; write, concurrent to writing the updatedindex, an updated HRTD into the EOD of the index: and request for thetape cartridge to be unloaded.
 7. The tape drive system as recited inclaim 1, wherein the logic is configured to partition the tape mediuminto two or more partitions, the two or more partitions including atleast a data partition and an index partition, wherein the index isstored to the index partition, and wherein data is stored to the datapartition.
 8. A computer-implemented method for managing detailedlocation information, the method comprising: writing a file into a datapartition of a tape medium, wherein the tape medium comprises two ormore partitions including the data partition and an index partition;writing a pointer of the written file in the index partition of the tapemedium; creating, by a hardware processor, a high resolution tapedirectory (HRTD), the HRTD including detailed location information ofdata in the data partition of the tape medium; storing, by the hardwareprocessor, the HRTD as part of end of data (EOD) of the index partitionwhen a tape cartridge housing the tape medium is unloaded; makingchanges to data stored in a first portion of the data partition; storingdetailed location data for the changed data to an EOD of the firstportion of the data partition; and reflecting the detailed location datafor the changed data in the HRTD stored to the EOD of the indexpartition when the tape cartridge housing the tape medium is unloaded.9. The method as recited in claim 8, wherein the tape medium adheres tolinear tape open (LTO) format standards, and wherein a linear tape filesystem (LTFS) enables partitioning of the tape medium.
 10. The method asrecited in claim 8, further comprising: receiving a request to read outa specified file; loading a tape cartridge housing a tape medium whichincludes the specified file stored thereon; reading out a pointer in theindex partition to acquire directory information corresponding to alocation of the specified tile; and reading out the EOD in the indexpartition in order to acquire the HRTD concurrent to reading out thepointer from the index partition.
 11. The method as recited in claim 10,further comprising: determining whether a stored HRTD is valid;validating the acquired FIRM and requesting access to the specified fileaccording to the detailed location information of the HRTD correspondingto the specified file in response to a determination that the storedHRTD is valid; using standard tape directory (STD) stored in cartridgememory (CM) to access location information of the specified file inresponse to a determination that the stored HRTD is invalid; andaccessing the specified file at a higher speed when using the HRTD or ata lower speed when using the STD.
 12. The method as recited in claim 8,wherein the storing the HRTD as part of the EOD of the index partitioncomprises: requesting movement of the tape medium to the index partitionin order to update an index file after changes have occurred to data inthe data partition; writing an updated index file into the partitionindex; writing an updated HRTD into the EOD of the index partitionconcurrent to writing the updated index file; and requesting for thetape cartridge to be unloaded.
 13. A computer program product formanaging detailed location information, the computer program productcomprising a non-transitory computer readable storage medium havingcomputer readable program code embodied therewith, the computer readableprogram code comprising: computer readable program code configured forwriting a file into a data partition of a tape medium, wherein the tapemedium comprises two or more partitions including the data partition andan index partition; computer readable program code configured forwriting a pointer of the written file in the index partition of the tapemedium; computer readable program code configured for creating a highresolution tape directory (HRTD), the HRTD including detailed locationinformation of data in the data partition of the tape medium; computerreadable program code configured for storing the HRTD as part of end ofdata (EOD) of the index partition when a tape cartridge housing the tapemedium is unloaded; computer readable program code configured for makingchanges to data stored in a first portion of the data partition;computer readable program code configured for storing detailed locationdata for the changed data to an EOD of the first portion of the datapartition; and computer readable program code configured for reflectingthe detailed location data for the changed data in the HRTD stored tothe EOD of the index partition when the tape cartridge housing the tapemedium is unloaded.
 14. The computer program product as recited in claim13, wherein the tape medium adheres to linear tape open (LTO) formatstandards, and wherein a linear tape file system (LTFS) enablespartitioning of the tape medium.
 15. The computer program product asrecited in claim 13 further comprising: computer readable program codeconfigured for receiving a request to read out a specified file;computer readable program code configured for loading a tape cartridgehousing a tape medium which includes the specified file stored thereon;computer readable program code configured for reading out a pointer inthe index partition to acquire directory information corresponding to alocation of the specified file; and computer readable program codeconfigured for reading out the EOD in the index partition in order toacquire the HRTD concurrent to reading out the pointer from the indexpartition.
 16. The computer program product as recited in claim 15,further comprising: computer readable program code configured fordetermining whether a stored HRTD is valid; computer readable programcode configured for validating the acquired HRTD and requesting accessto the specified file according to the detailed location information ofthe HRTD corresponding to the specified file in response to adetermination that the stored HRTD is valid; computer readable programcode configured for using standard tape directory (STD) stored incartridge memory (CM) to access location information of the specifiedfile in response to a determination that the stored HRTD is invalid; andcomputer readable program code configured for accessing the specifiedfile at a higher speed when using the HRTD or at a lower speed whenusing the STD.
 17. The computer program product as recited in claim 13,wherein the computer readable program code configured for storing theHRTD as part of the EOD of the index partition comprises: computerreadable program code configured for requesting movement of the tapemedium to the index partition in order to update an index file afterchanges have occurred to data in the data partition; computer readableprogram code configured for writing an updated index file into thepartition index; computer readable program code configured for writingan updated HRTD into the EOD of the index partition concurrent towriting the updated index file; and computer readable program codeconfigured for requesting for the tape cartridge to be unloaded.